"""
文本块的数据结构
"""
from typing import Optional
from pydantic import BaseModel, Field


class Document(BaseModel):
    """
    文本片段的内容，及其他相关信息
    distance: 命中的distance得分
    ## metadata可能包含以下字段：
    - 段落id: id
    - 段落序号： block_index
    - 文本起始位置：start_index
    - 相关段落： related_blocks
    """
    content: str
    distance: float = Field(default=0)
    metadata: Optional[dict] = Field(default=None)
